cmake_minimum_required(VERSION 3.15)
project(algorithm)
set(TARGET algorithm)

file(GLOB_RECURSE LOCAL_SOURCES
    "*.cc"                # 当前目录的 .cc 文件
    "array/*.cc"
    "event_driven/*.cc"
    "graph/*.cc"
    "hash_table/*.cc"
    "list/*.cc"
    "math/*.cc"
    "path_planning/*.cc"  # 明确包含子目录（可选，更精确）
    "queue/*.cc"          # 明确包含子目录（可选，更精确）
    "recursion/*.cc"      # 明确包含子目录（可选，更精确）
    "sort/*.cc"           # 明确包含子目录（可选，更精确）
    "tree/*.cc"           # 明确包含子目录（可选，更精确）
    "vector/*.cc"           # 明确包含子目录（可选，更精确）
    "task_scheduler/*.cc"
)

# 生成可执行文件（正确引用 SOURCES 变量）
add_executable(${TARGET} ${LOCAL_SOURCES})

target_link_libraries(${TARGET} PRIVATE -lpthread)